﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Descripción breve de ReportTramiteUtilityCRN
/// </summary>
namespace Iudicium.Reportes.CRN
{
    public class ReportTramiteUtilityCRN
    {
        public ReportTramiteUtilityCRN()
        {
            //
            // TODO: Agregar aquí la lógica del constructor
            //
        }

        public static List<ReporteTramiteUtility> GetTramiteUtility(int usuarioId, bool tienePermiso)
        {
            ReportesDSTableAdapters.TramiteUtilidadTableAdapter adapter = new ReportesDSTableAdapters.TramiteUtilidadTableAdapter();

            ReportesDS.TramiteUtilidadDataTable tabla = adapter.GetTramiteUtility(tienePermiso, usuarioId);
            if (tabla == null)
            {
                throw new Exception("El SQL se ejecuto correctamente, pero la consulta devolvio un conjunto de valores nulos.");
            }

            List<ReporteTramiteUtility> lista = new List<ReporteTramiteUtility>();
      
            foreach (ReportesDS.TramiteUtilidadRow row in tabla)
            {
                ReporteTramiteUtility objReportes = ConstruirReportUtility(row);
                lista.Add(objReportes);
            }

            return lista;
        }
        private static ReporteTramiteUtility ConstruirReportUtility(ReportesDS.TramiteUtilidadRow row)
        {
            return new ReporteTramiteUtility(row.servicioId,row.fechaInicio, row.codigoServicio, row.categoria, row.tipotramite, row.responsables, row.involucrados, row.ingresos, row.egresos, row.utilidad);
        }
    }
}
